package cc.rengu.igas.momp.facade;

import cc.rengu.igas.momp.facade.request.ClaimCouponOutChannelRequest;
import cc.rengu.igas.momp.facade.request.QueryCouponInfoByCustomerRequest;
import cc.rengu.igas.momp.facade.request.QueryMcListWithDetialInfoRequest;
import cc.rengu.igas.momp.facade.response.ClaimCouponOutChannelResponse;
import cc.rengu.igas.momp.facade.response.QueryCouponInfoByCustomerResponse;
import cc.rengu.igas.momp.facade.response.QueryMcListWithDetialInfoResponse;
import cc.rengu.igas.momp.facade.result.Result;

/**
 * 外部渠道卡券营销活动管理
 *
 * @author liujinan
 * @version 1.0.0
 * @date 2021/1/19 11:53
 */
public interface OutChannelCouponMcService {

    /**
     * 卡券类营销活动列表查询接口Dubbo接口实现
     *
     * @param queryMcListWithDetialInfoRequest 卡券类营销活动列表查询接口请求对象
     * @return cc.rengu.igas.momp.facade.result.Result<cc.rengu.igas.momp.facade.response.QueryMemberInfoResponse> 会员信息查询接口应答对象
     * @author liujinan
     * @date 2021/1/19 15:17
     */
    Result<QueryMcListWithDetialInfoResponse> queryMcListWithDetialInfo(QueryMcListWithDetialInfoRequest queryMcListWithDetialInfoRequest);

    /**
     * 用户卡券领取Dubbo实现
     *
     * @param claimCouponOutChannelRequest 用户卡券领取接口请求对象
     * @return cc.rengu.igas.momp.facade.result.Result<cc.rengu.igas.momp.facade.response.ClaimCouponOutChannelResponse> 用户卡券领取接口应答对象
     * @author liujinan
     * @date 2021/1/19 15:17
     */
    Result<ClaimCouponOutChannelResponse> customerClaimCoupon(ClaimCouponOutChannelRequest claimCouponOutChannelRequest);

    /**
     * 用户卡券查询Dubbo实现
     *
     * @param queryCouponInfoByCustomerRequest 用户卡券查询接口请求对象
     * @return cc.rengu.igas.momp.facade.result.Result<cc.rengu.igas.momp.facade.response.QueryCouponInfoByCustomerResponse> 用户卡券查询接口应答对象
     * @author liujinan
     * @date 2021/1/19 15:16
     */
    Result<QueryCouponInfoByCustomerResponse> customerQueryCouponInfo(QueryCouponInfoByCustomerRequest queryCouponInfoByCustomerRequest);
}
